Docker实用笔记

402次阅读
没有评论

共计 2871 个字符,预计需要花费 8 分钟才能阅读完成。

Windows 环境

Docker Desktop for Windows:https://docs.docker.com/desktop/setup/install/windows-install/

设置镜像源:Settings → Docker Engine:

"registry-mirrors": [
    "https://mirrors.ustc.edu.cn",
    "https://docker.unsee.tech",
    "https://docker.1panel.live",
    "https://mirror.azure.cn",
    "https://dockerpull.org"
  ],

环境初始化 (CentOS)

# 安装 wget,参数 - y 会自动选择 y,全自动
yum -y install wget

# 下载阿里云源,- O 选项以其他名称保存下载的文件
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo # 基础仓库
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo # 额外仓库

# 清空本地缓存
yum clean all
# 生成新的缓存
yum makecache

# 清空现有规则来暂时停止防火墙 (警告:这只适合在没有配置防火墙的环境中,如果已经配置过默认规则为 deny 的环境,此步骤将使系统的所有网络访问中断)
iptables -F
# 查看是否开启了 SELinux,确保是 disabled 的状态
getenforce
# 临时关闭 SELinux
setenforce 0
# 永久关闭 SELinux,SELINUX=enforcing 改为 SELINUX=disabled 即可
vi /etc/selinux/config
# reboot 使配置生效
reboot

# 关闭防火墙,开机自动关闭
systemctl disable firewalld
# 关闭防火墙
systemctl stop firewalld

安装 Docker

开启 Linux 内核的流量转发

# 内核版本不能低于 3.10
uname -r
# 查看发行版本
cat /etc/redhat-release

# 开启 Linux 内核的流量转发
cat <<EOF > /etc/sysctl.d/docker.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.all.rp_filter = 0
net.ipv4.ip_forward = 1
EOF

# 加载修改内核的参数,配置文件
modprobe br_netfilter # 加载 br_netfilter 模块
sysctl -p /etc/sysctl.d/docker.conf # 重新加载内核 

利用 yum 快速安装 docker

# 下载阿里源 repo 文件
wget -O /etc/yum.repos.d/docker.repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 更新 yum 缓存
yum clean all && yum makecache

# 查看源中可用版本
yum list docker-ce --showduplicates | sort -r

# yum 安装 docker
yum install docker-ce-20.10.9 -y
# 卸载
yum remove docker-ce-20.10.9 -y

配置 Docker 加速器

mkdir -p /etc/docker
vi /etc/docker/daemon.json

写入如下内容:

{"registry-mirrors":["https://docker.mirrors.ustc.edu.cn/"]}
systemctl daemon-reload
# 开机启动 docker

systemctl enable docker
# 重新启动 docker
systemctl restart docker
# 查看版本,验证 docker 是否正确启动
docker version
# 查看 docker 信息
docker info
# docker 数据存放路径
docker info | grep Root

用 Docker 使用各种操作系统

使用 docker 来切换不同的发行版,内核使用的都是宿主机的内核。

# 获取 ubuntu 镜像
docker pull ubuntu
# 运行容器且进入容器内,- i 交互式命令操作,- t 开启一个终端
# bash 进入容器后,执行的命令
docker run -it ubuntu bash
# --rm 容器退出时删除该容器
docker run -it --rm ubuntu bash

# 查看容器内的发行版本
cat /etc/lsb-release
# 退出容器
exit

# 进入到正在运行的容器内
docker exec -it 容器 id bash

镜像操作

拉取镜像

docker pull busybox

busybox 是一个集成了数百个 Linux 命令的精简工具箱,只有几兆大小,被誉为 Linux 系统的瑞击军刀。

搜索镜像:docker search nginx

查看镜像

# 查看本地所有镜像
docker images
# 查看具体镜像
docker images nginx
# 可以指定具体 tag
docker images nginx:latest
# 只列出镜像 id,--quiet
docker images -q
# 格式化显示镜像
docker images --format "{{.ID}} -- {{.Repository}}"
# 以表格形式显示
docker images --format "table {{.ID}} t {{.Repository}}"

删除镜像

docker rmi busybox

容器操作

创建并启动容器

# 创建容器
docker create -it --name=busybox busybox
# 启动容器
docker start busybox
# 查看容器是否在运行
docker ps
# 查看停止状态的容器
docker ps -a
# 停止容器
docker stop busybox

# 创建并启动容器
docker run -it --name=busybox2 busybox
# - d 后台运行容器,-p 80:80 端口映射 (宿主机端口: 容器内端口)
docker run -d -p 80:80 nginx

上述命令中,- t 参数是分配一个伪终端,- i 参数从终端 STDIN 打开,同时使用 -it 参数可以进入交互模式。

在交互模式下,可以通过所创建的终端来输入命令,例如:ps aux,容器 1 号进程为 sh 命令,在容器内部并不能看到主机上的进程信息,因为容器内部和主机是完全隔离的。同时由于 sh 是 1 号进程,意味着如果通过 exit 退出 sh,那么容器也会退出。

删除容器

docker rm busybox2
# 要删除正在运行的容器,须加 -f(--force)参数
docker rm -f busybox

正文完
 0
阿伯手记
版权声明:本站原创文章,由 阿伯手记 于2023-08-15发表,共计2871字。
转载说明:本站原创内容,除特殊说明外,均基于 CC BY-NC-SA 4.0 协议发布,转载须注明出处与链接。
评论(没有评论)
验证码

阿伯手记

阿伯手记
阿伯手记
喜欢编程,头发渐稀;成长路上,宝藏满地
文章数
767
评论数
207
阅读量
681999
今日一言
-「
热门文章
职场救急!AI请假话术生成器:1秒定制高通过率理由

职场救急!AI请假话术生成器:1秒定制高通过率理由

超级借口 不好开口?借口交给我!智能生成工作请假、上学请假、饭局爽约、约会拒绝、邀约推辞、万能借口等各种借口理...
夸克网盘快传助手提高非VIP下载速度

夸克网盘快传助手提高非VIP下载速度

夸克网盘限速这个大家都知道,不开会员差不多限速在几百 K。那有没有办法在合法合规途径加速下载夸克网盘呢?这里推...
TVAPP:开源电视盒子资源库,一键打造家庭影院

TVAPP:开源电视盒子资源库,一键打造家庭影院

导语 TVAPP 是一个专为 Android TV 电视盒子用户打造的开源影音资源库,集成了影视、直播、游戏等...
巴别英语:用美剧和TED演讲轻松提升英语听力与口语

巴别英语:用美剧和TED演讲轻松提升英语听力与口语

还在为枯燥的英语学习而烦恼吗?巴别英语通过创新的美剧学习模式,让英语学习变得生动有趣。平台提供海量美剧和 TE...
Chinese Name Generator 在线中文姓名生成器

Chinese Name Generator 在线中文姓名生成器

Chinese Name Generator 是一款在线中文姓名生成器,可在几秒内生成符合个人需求的中文名字。...
2025年12月 每日精选

2025年12月 每日精选

关于每日精选栏目 发现一些不错的资源,点击 这里 快速投稿。 12 月 26 日 .ax 顶级域 目前全球唯一...
123云盘限时福利:登录即送1个月VIP尊享权益!

123云盘限时福利:登录即送1个月VIP尊享权益!

🎁  零成本体验 20T 超大空间与会员加速通道 🎉 活动亮点 登录即送:无需任何复杂操作,登录账号直接领取 ...
最新评论
阿伯手记 阿伯手记 发了:https://aboss.top/moments/1064
吴蛋蛋 吴蛋蛋 快发小年快乐
吴蛋蛋 吴蛋蛋 Ask4Me,这个之前看server酱接入了
15220202929 15220202929 怎么用
八对 八对 麻烦大佬更新下【堆新】的友链站名:八对星星描述:极目星视穹苍无界•足履行者大地有疆链接:https://8dui.com图标:https://cf.8dui.com/logo.webp横标:https://cf.8dui.com/logo-w.webp订阅:https://8dui.com/rss.xml
三毛笔记 三毛笔记 已添加
DUINEW DUINEW 已添加贵站,期待贵站友链~博客名称:堆新博客地址:https://duinew.com/博客描述:堆新堆新,引力向新!——堆新(DUINEW)博客头像:https://d.duinew.com/logo.webp横版头像:https://d.duinew.com/logo-w.webp博客订阅:https://duinew.com/rss.xml
hedp hedp 没看懂
bingo bingo 直接生成就可以啦,也可以添加一些选项
热评文章
夸克网盘快传助手提高非VIP下载速度

夸克网盘快传助手提高非VIP下载速度

夸克网盘限速这个大家都知道,不开会员差不多限速在几百 K。那有没有办法在合法合规途径加速下载夸克网盘呢?这里推...
Short-Link 免费开源短网址程序,基于Fastify、Vercel和Supabase构建

Short-Link 免费开源短网址程序,基于Fastify、Vercel和Supabase构建

Short-Link 是一款基于 Fastify、Vercel 和 Supabase 构建的 URL 缩短服务...
清华大学官方免费DeepSeek教程

清华大学官方免费DeepSeek教程

AI 领域近期最引人注目的焦点当属 DeepSeek,这款由中国创新企业深度求索研发的人工智能工具,正以开放源...
Chinese Name Generator 在线中文姓名生成器

Chinese Name Generator 在线中文姓名生成器

Chinese Name Generator 是一款在线中文姓名生成器,可在几秒内生成符合个人需求的中文名字。...
2026年2月 每日精选

2026年2月 每日精选

关于每日精选栏目 发现一些不错的资源,点击 这里 快速投稿。 2 月 17 日 国家全民健身信息服务平台 过年...
DrawLink:一键生成链接视觉卡片,提升分享点击率

DrawLink:一键生成链接视觉卡片,提升分享点击率

小贴士 :此站或已变迁,但探索不止步。我们已为您备好「类似网站」精选合集,相信其中的发现同样能为您带来惊喜。
WebRTC Screen Mirror:基于浏览器免费开源投屏神器,可实现低延迟、跨平台屏幕共享

WebRTC Screen Mirror:基于浏览器免费开源投屏神器,可实现低延迟、跨平台屏幕共享

WebRTC Screen Mirror 是一款基于 WebRTC 技术的在线屏幕共享工具,它利用浏览器内置的...